The present invention relates to a file control system and file update method, which synchronize the data update contents of files present in different data processing apparatuses and, more particularly, to synchronization of the date update contents between a personal computer as a host system and a portable information terminal (Personal Digital Assistant: PDA).
The present invention also relates to a terminal apparatus or personal computer using such system and method.
Conventionally, data are exchanged between the host and terminal apparatuses or between the host apparatuses in one way or two ways. In case of one-way exchange, the host apparatus sends data to the terminal apparatus in one way or vice versa. In one-way exchange, whole data are rewritten irrespective of whether or not data are effective on the receiving side.
In two-way exchange, when data update has taken place in one of the host and terminal apparatuses, control is made to send the data-updated, new file to the other. Especially, in case of a spreadsheet file, since data are independently updated in files on both the sides in units of cells, common files, which reflect both data updates in units of cells, are separately prepared, and are reflected in the files of the personal computer and PDA.
However, in order to synchronize the data update contents between the host and terminal apparatuses, a program for controlling files on the host apparatus side to synchronize the data update contents is normally supplied from a manufacturer, which supplies the terminal apparatus.
More specifically, an application program on the host apparatus side is supplied by company A, and the terminal apparatus is supplied by company B. A function of downloading a file created by that application program to the terminal apparatus, and allowing the terminal apparatus to access the downloaded file is appended to the terminal apparatus. In order to reflect a file, whose data have been updated on the terminal apparatus, in the host apparatus, a control program supplied by company B must be installed on the terminal apparatus, and is running on the terminal apparatus. Then, data are updated on the host side in collaboration between that control program and the application program.
However, since the control program is normally supplied by the developer of the terminal apparatus, it supports the data update function of only files created by application program X, compatibility with which the developer especially intends, and by application program Y which has data compatibility with program X. That is, application programs have no versatility of the data update function. More specifically, some terminal apparatuses cannot exchange files created by international standard spreadsheet programs such as EXCEL available from Microsoft Corp., Lotus 123 available from Lotus Corp., and the like in fact.
Although a terminal apparatus that has versatility in the data update function has been provided, very troublesome operations are required to perform that function.
On the other hand, files handled by multi-functional programs such as EXCEL, Lotus 123, and the like have a large size since they include data containing various attributes. Therefore, upon transferring such file to the terminal apparatus, the terminal apparatus must have a large data storage memory. Or when a high-resolution color image such as a color image sensed by a digital camera is to be transferred, it is a common practice to transfer such image after the image is compressed. In such case, the terminal apparatus must have a memory for storing a decompression program and a high-speed CPU that attains high-speed decompression.
In this manner, a large-size memory and high-speed CPU, which are required to keep compatibility with files created by multi-functional programs or to keep compatibility with a high-resolution image file, lead to an increase in cost of the terminal apparatus. Such increase in cost is a serious problem in a portable information terminal or electronic notebook that attaches an importance on low cost.
It is the first object of the present invention to provide a file control system which can reflect updated data in files in two file apparatuses by simple operation when one or both of a first file apparatus such as a host apparatus or the like and a second file apparatus such as a portable information terminal or the like have updated data.
It is the second object of the present invention to provide a file control system which can also update data attributes of a file to be updated.
In order to achieve the first object, as recited in claim 1, a file control system which comprises first and second file apparatuses that can independently modify or edit data, and connection means for connecting the first and second file apparatuses as needed to be able to exchange data, comprises:
associating means, provided in the first file apparatus, for generating a third file for associating a first file stored in the first file apparatus with a second file stored in the second file apparatus;
detection means for detecting a data modification in the associated first and second files, and reflecting a detection result in the third file;
matching means for matching first data present in both the first and second files with each other on the basis of the third file in which the detection result is reflected; and
means for updating and modifying second data present in the first file on the basis of the third file in which the detection result is reflected.
The present invention is suitable for updating information between a personal computer and a portable information terminal. Hence, according to claim 2 as a preferred aspect of the present invention, the first file apparatus comprises a disk device managed by a personal computer operating system of a personal computer apparatus, and the second file apparatus comprises a portable information terminal apparatus.
According to claim 3 as a preferred aspect of the present invention, the first and second files are spreadsheet files having identical data structures. Since the spreadsheet file has a cell structure, data of the two files can be easily synchronized.
Update of two files is significant only when the two files exist. Therefore, in the initial state, the other file must be generated based on one file. Hence, according to claim 4 as a preferred aspect of the present invention, the associating means generates the third file when data of the first file is newly transferred to the second file apparatus via the connection means.
According to claim 5 as a preferred aspect of the present invention, a first file control program can be executed in the first file apparatus, and a second file control program can be executed in the second file apparatus.
Update is preferably started simply. Hence, according to claim 6 as a preferred aspect of the present invention, the detection means and the matching means are started by a start button provided to the second file apparatus.
According to claim 7 as a preferred aspect of the present invention, the connection means includes a communication cable.
It is important upon matching and synchronizing data to precisely detect data modification in two files. Hence, according to claim 8 as a preferred aspect of the present invention, the detection means comprises:
a first management file which is provided in the first file apparatus to store first count information indicating a modification count of the first file in the first file apparatus;
a second management file which is provided in the first file apparatus to store second count information indicating a modification count of the second file in the second file apparatus; and
means for checking a latest modified file by comparing the first count information and second count information.
In some cases, data in both the first and second files may be updated. In order to precisely detect such modifications in two files, according to claim 9 as a preferred aspect of the present invention, the detection means comprises a register for storing count information upon previous matching. The current count information can be compared with that upon previous matching in units of files, and it can be checked in units of files if data has been modified.
The functions of the present invention are preferably implemented by another program rather than the program that directly handles the first and second files. Hence, according to claim 10 as a preferred aspect of the present invention, the system further comprises a file management program running in the first file apparatus, and wherein the file management program manipulates a first management information file for the first file, a second management information file for the second file, and a third management information file that mediates the first and second management information files. Since the file management program as the other program can indirectly control the first and second files via the third management information file, it is not restrained by the states of the first and second files.
According to claim 11 as a preferred aspect of the present invention, the third file does not contain attribute information of data of the first file. This can reduce a necessary memory size.
According to claim 12 as a preferred aspect of the present invention, energization of the connection means is started by the second file apparatus, e.g., the start switch of the second file apparatus.
If the file is a spreadsheet file, it is preferably updated in units of cells. Hence, according to claim 13 as a preferred aspect of the present invention, modifications in units of cells in the first file are reflected in the third file.
When data have been modified at identical addresses in two spreadsheet files, it cannot be determined to which modification priority is given. Hence, according to claim 14 as a preferred aspect of the present invention, the system further comprises arranging means for, when the first and second files are changed at identical cell addresses, arranging a priority order of modifications of the first and second files.
According to claim 15 as a preferred aspect of the present invention, the system further comprises means for outputting a message indicating that the first and second files are changed at identical cell addresses.
According to claim 16 as a preferred aspect of the present invention, the system further comprises means for, when the first and second files are changed at identical cell addresses, outputting a message inquiring a priority order of modifications of the first and second files.
According to the present invention, as recited in claim 17, the second data is a calculation formula appended to the first data.
The present invention is preferably a personal computer having the first file apparatus.
The first objective is also achieved by a portable information terminal in which a program having a spreadsheet function is installed, comprising:
means for storing a modification count of spreadsheet data when the program is running; and
communication means for communicating with an external host apparatus to exchange data of the program and the count data.
The first to third objectives of the present invention are also achieved by a file update method for supporting data update of a first data accumulation program for accumulating data, and the method comprises:
the step of managing a first file for storing first information, which reflects an accumulation result of accumulation data generated upon execution of the first data accumulation program on a computer;
the step of externally receiving second information, which reflects an accumulation result of accumulation data generated in accordance with an execution result of an externally executed second data accumulation program, and managing the second information as a second file; and
the step of updating an output file of the first data accumulation program on the basis of the first information and second information.
According to claim 23 as a preferred aspect of the present invention, the method further comprises:
the step of generating fifth information which mediates the first information and second information;
the step of storing the fifth information; and
the step of generating data of the output file via the third information.
According to claim 24 as a preferred aspect of the present invention, the method further comprises:
the step of generating sixth information for updating an external output file of the second data accumulation program on the basis of the first information and second information; and
the step of externally outputting the sixth information via a communication line.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.